﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
using Soomla;

namespace Soomla.Store.Example {

	public class coinInMenuChoix : MonoBehaviour 
	{
		public Transform chiffre0;
		public Transform chiffre1;
		public Transform chiffre2;
		public Transform chiffre3;
		public Transform chiffre4;
		public Transform chiffre5;
		public Transform chiffre6;
		public Transform chiffre7;
		public Transform chiffre8;
		public Transform chiffre9;
		private Transform prefab_choisi;
		private int nombre_chiffre;
		private double taille_totale;
		private Vector3 position_depart;
		private int precedent_score;
		private double taille_chiffre;
		private Transform[] intermediate;
		
		void Start () {
			intermediate=new Transform[5];
			precedent_score=10;
			intermediate[0]=Transform.Instantiate(chiffre0,this.transform.position,Quaternion.identity) as Transform;
			intermediate[0].parent=this.transform.parent;
			intermediate[0].localScale=new Vector3(1,1,1);
			taille_chiffre=(chiffre0.GetComponent<SpriteRenderer>().sprite.bounds.size.x+0.01)*this.transform.parent.localScale.x;
			
			if(StoreInventory.GetItemBalance("currency_coins")!=precedent_score)
			{
				precedent_score=StoreInventory.GetItemBalance("currency_coins");
				nombre_chiffre=nombreChiffre(precedent_score);
				taille_totale=nombre_chiffre*taille_chiffre-(0.01*this.transform.parent.localScale.x);
				position_depart=this.transform.position;
				for(int i=nombre_chiffre-1;i>=0;i--)
				{
					if(intermediate[i]!=null)
					{
						GameObject.Destroy(intermediate[i].gameObject);
					}
					prefab_choisi=choisirPrefab(choisirChiffre(i));
					intermediate[i]=Transform.Instantiate(prefab_choisi,position_depart,Quaternion.identity)as Transform;
					intermediate[i].parent=this.transform.parent;
					intermediate[i].localScale=new Vector3(1,1,1);
					position_depart.x+=(float)taille_chiffre;
				}
			}
		}
		public void refresh()
		{
			for (int i=5; i>=0; i--) {
						if (intermediate [i] != null) {
								GameObject.Destroy (intermediate [i].gameObject);
						}
				}
			precedent_score=StoreInventory.GetItemBalance("currency_coins");
			nombre_chiffre=nombreChiffre(precedent_score);
			taille_totale=nombre_chiffre*taille_chiffre-(0.01*this.transform.parent.localScale.x);
			position_depart=this.transform.position;
			for(int i=nombre_chiffre-1;i>=0;i--)
			{
				if(intermediate[i]!=null)
				{
					GameObject.Destroy(intermediate[i].gameObject);
				}
				prefab_choisi=choisirPrefab(choisirChiffre(i));
				intermediate[i]=Transform.Instantiate(prefab_choisi,position_depart,Quaternion.identity)as Transform;
				intermediate[i].parent=this.transform.parent;
				intermediate[i].localScale=new Vector3(1,1,1);
				position_depart.x+=(float)taille_chiffre;
			}
		}
		
		int nombreChiffre(int s)
		{
			if(s/10==0)
			{
				return 1;
			}
			else
			{
				return 1+nombreChiffre(s/10);
			}
		}
		
		int choisirChiffre(int rang)
		{
			
			return (int)((precedent_score/Mathf.Pow(10,rang)))%10;
			
		}
		
		Transform choisirPrefab(int chiffre)
		{
			if(chiffre==0)
			{
				return chiffre0;
			}
			else if(chiffre==1)
			{
				return chiffre1;
			}
			else if(chiffre==2)
			{
				return chiffre2;
			}
			else if(chiffre==3)
			{
				return chiffre3;
			}
			else if(chiffre==4)
			{
				return chiffre4;
			}
			else if(chiffre==5)
			{
				return chiffre5;
			}
			else if(chiffre==6)
			{
				return chiffre6;
			}
			else if(chiffre==7)
			{
				return chiffre7;
			}
			else if(chiffre==8)
			{
				return chiffre8;
			}
			else if(chiffre==9)
			{
				return chiffre9;
			}
			else
			{
				return null;
			}
			
		}
	}

}
